package 简单算法;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * @Author: 胡成
 * @Version: 0.0.1V
 * @Date: 2019-05-21
 * @Description: 类描述
 **/
public class 集合排序 {
	public static void main(String[] args) {
//        List<Integer> nums = new ArrayList<>();
//        nums.add(6);
//        nums.add(5);
//        nums.add(7);
//        nums.add(3);
//        nums.add(1);
//        sort(nums);
//        System.out.println(nums);
		bubbleSort();
	}

	/**
	 * 递归排序 前面一位和后面的作比较，如果大于，就互换位置
	 * 
	 * @param nums
	 */
	private static void sort(List<Integer> nums) {
		for (int i = 0; i < nums.size() - 1; i++) {
			if (nums.get(i) > nums.get(i + 1)) {
				int temp = nums.get(i);
				nums.set(i, nums.get(i + 1));
				nums.set(i + 1, temp);
				sort(nums);
			}
		}
	}

	/**
	 * Collections.sort 排序
	 * 重写Comparator
	 */
	private static void bubbleSort() {
		List<Integer> nums = new ArrayList<>();
		nums.add(6);
		nums.add(5);
		nums.add(7);
		nums.add(3);
		nums.add(1);

		Collections.sort(nums, new Comparator<Integer>() {
			@Override
			public int compare(Integer o1, Integer o2) {
				if (o1 > o2) {
					return -1;
				}
				return 0;
			}

		});
		System.out.println(nums);
	}

}
